/**************************************************************************
***  tvm_typedef.h
***  this is the file that contains typedefs which helps the portability
***
***	anyone or any organization can redistribute or modify this file for  
***    any purposes as long as you keep this statement and the copyright
***	statement.
***    
***  @author Tata @date 2008/12/31 Copyright(C) 2009 - Tata
**************************************************************************/

#ifndef _TVM_TYPEDEF_H_
#define _TVM_TYPEDEF_H_

typedef char									int8;
typedef signed char						sint8;
typedef unsigned char					uint8;
typedef short								int16;
typedef signed short						sint16;
typedef unsigned short					uint16;
typedef long									int32;
typedef signed long							sint32;
typedef unsigned long						uint32;

/*definition for 16bit machine*/
//#define SIXTEEN_BIT_MACHINE

#ifdef SIXTEEN_BIT_MACHINE/*16bit machine*/
typedef uint16 							size_type;
#else/*32bit machine*/
typedef uint32 							size_type;
#endif
typedef size_type							TVM_BOOL;

typedef void (*KeySender)(size_type key);
typedef void (*Logger)(const int8*);
typedef void (*Outputor)(const int8*);
typedef size_type (*KeyFetcher)(void);

#endif/*_TVM_TYPEDEF_H_*/
